Providing familiarizing directional information

ABSTRACT

Examples are disclosed that relate to providing information regarding nearby locations that may be familiar to a user to help inform the user of a current location within an area. One disclosed example provides a computing device comprising a display, a logic subsystem, and a storage subsystem comprising instructions executable by the logic subsystem to form a list of familiar locations for a user based upon a user history regarding the familiar locations, determine that the user is within a threshold proximity to a nearby familiar location on the list of familiar locations, and in response, output directional information indicating a relative position of the nearby familiar location on the list of familiar locations.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/556,675, filed Aug. 30, 2019, which is a continuation of U.S. patentapplication Ser. No. 15/490,850, filed Apr. 18, 2017, now granted asU.S. Pat. No. 10,408,624, the entirety of each of which is herebyincorporated herein by reference for all purposes.

BACKGROUND

Computing devices may provide navigation information, such as currentlocation and route information, via a combination of map data andlocation data. Some map applications also may allow viewing of andinteraction with previously-recorded street-level images.

SUMMARY

Examples are disclosed that relate to providing information regardingnearby locations that may be familiar to a user to help inform the userof a current location within an area. One disclosed example provides acomputing device comprising a display, a logic subsystem, and a storagesubsystem comprising instructions executable by the logic subsystem toform a list of familiar locations for a user based upon a user historyregarding the familiar locations, determine that the user is within athreshold proximity to a nearby familiar location on the list offamiliar locations, and in response, output directional informationindicating a relative position of the nearby familiar location on thelist of familiar locations.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Furthermore,the claimed subject matter is not limited to implementations that solveany or all disadvantages noted in any part of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example use scenario in which a computing device outputsdirectional information related to a familiar location.

FIG. 2 shows an example map showing representations of geofencessurrounding determined familiar locations.

FIG. 3 shows an example map illustrating an overlay layer comprisinggraphical indicators for determined familiar locations.

FIG. 4 shows an example augmented reality display device in the form ofa head-mounted display device.

FIG. 5 shows an example augmented reality display device in the form ofa smartphone.

FIGS. 6A and 6B are flow diagrams illustrating an example method ofoutputting directional information relating to nearby familiarlocations.

FIG. 7 is a block diagram of an example computing device.

DETAILED DESCRIPTION

In unfamiliar settings, it may be helpful for a person to understandrelative locations of nearby familiar places. For example, a person mayhave previously visited a specific location in a city, such as thelibrary, but may not otherwise know the city particularly well. Byproviding via a mobile computing device user-specific directionalinformation related to such familiar locations, such as where thelibrary is located relative to a current location of the user, the usermay more easily understand their current location within the city.

Accordingly, examples are disclosed that relate to providing informationregarding nearby locations that may be familiar to a user to help informthe user of a current location within an area. As described in moredetail below, a computing system may be configured to form a list offamiliar locations for a user based upon a user history regarding thedetermined familiar locations. Then, the computing system may comparecurrent location data to the list of familiar locations, determine thatthe user is in proximity to a nearby familiar location on the list offamiliar locations based upon comparing the current location data to thelist of familiar locations, and output directional informationindicating a relative position of the nearby familiar location on thelist of familiar locations. This may help the user to have a bettersense of location and orientation within an unfamiliar area.

FIG. 1 shows an example use scenario 100 for a computing device in theform of a head-mounted display device 102 configured to output to a userdirectional information related to determined familiar locations of theuser 104. As shown, the head-mounted display device 102 is displaying anaugmented reality image over a real-world background. The augmentedreality image may be displayed optically (e.g. via a see-through displaysystem), or composited with video images acquired by a camera of thedisplay device 102 and then displayed to the user 104. The augmentedreality image comprises a graphical indicator 106 that includes adirectional symbol 108 and text information 110 indicating a directionof a determined familiar location named “The Door Cafe.”

The location “The Door Cafe” has been previously determined to be afamiliar to the user 104 and included on a list of familiar places forthe user. Locations may be determined to be familiar in any suitablemanner. For example, the head-mounted display device 102 may beconfigured to assemble a list of locations determined to be familiar tothe user 104 based upon a user history regarding the locations. As oneexample, such a user history may include information regarding pastvisits made by the user to the location, for example, as determined fromGlobal Positioning Satellite (GPS) data. Such GPS data may be collectedfrom a GPS sensor located on the head-mounted display device 104, and/orbe obtained via a network 114 from one or more separate devices, such asanother wearable computing device, a smartphone, and/or a vehicle of theuser, as represented by “User Device 2” 112. GPS data that may indicatea user is likely familiar with a location may comprise, for example GPSdata that indicates that a user spent a threshold amount of time at thelocation. GPS data from different devices may be stored in an accountfor the user, thereby allowing the various devices of the user 104 toshare the data.

A user history with regard to a location also may include search historydata for the user, such as web search terms and/or results. Searchhistory information may include search terms and/or results related tolocations of interest to a user, such as places that a user wishes tovisit or has visited, and thus which may be familiar to the user. As amore detailed example, a user's search history data may indicate that auser searched for a specific location on a map, and/or viewed thespecific location on the map via street-level imagery.

As a further example, the user history with regard to a location furthermay include mapping and/or navigation application data. Such data mayinclude information on directions to locations previously requested bythe user, and other information relevant to determining possiblefamiliar locations. As a further example, the user history may includesocial media application data. Such data may indicate, for example, thatthe user has “checked in” to places, reviewed places, marked places as“favorite”, etc. The user history further may include user calendardata, email data, texting data, and/or any other suitable datacomprising information that may indicate locations that a user may havevisited previously or that may otherwise be familiar to the user. Insome examples, information regarding previously visited locations mayalso be entered directly via user input. As described in more detailbelow, the resulting list of determined familiar locations may beprioritized based on a determined degree of familiarity for eachlocation, and updated over time to remove locations as they become lessfamiliar or relevant while adding new locations of potentially greaterrelevance.

Continuing with FIG. 1, as “The Door Cafe” may be familiar to the userbased upon the user's history regarding the location (for example, theuser has been determined to have visited the location recently orfrequently), the graphical indicator 106 displayed in the user historymay give the user a reference for orientation and location whenexploring the current area. Although the example of FIG. 1 is shown inthe context of an augmented reality head-mounted display device, it willbe understood that any other suitable display device may be utilized tooutput directional information, including but not limited to otherwearable display devices, smartphones, in-vehicle head-up displays, aswell as laptop computers and desktop computers when used to explore anarea via a first-person street-level view.

The head-mounted display device 104 may be configured to display of thegraphical indicator 106 based upon any suitable triggering event orevents. In some implementations, a user-centric model may be utilized,in which the graphical indicator 106 is displayed in response to thehead-mounted display device 104 being within a predetermined distancefrom a location of “The Door Cafe.” As one example, upon determining alocation to be familiar, a geofence is defined around the familiarlocation, wherein the term geofence refers to a virtual boundarydefining a geographic area surrounding the familiar location. FIG. 2shows an example map 200 that schematically illustrates familiarlocations 202, 204, and 206 and respective geofences 208, 210, 212 foreach familiar location. The geofences act as triggering features, suchthat when an augmented reality display device crosses and enters aninterior of a geofence as determined, for example by comparing GPS datato the geofence locations, the device is triggered to displaydirectional information indicating a relative position of the familiarlocation associated with the geofence. The graphical indicator used todisplay the information may be generated at the time of triggering, ormay be pre-generated and then displayed when triggered. The geofencemodel is an example of a “push model” that may be utilized, as the userdevice is notified (e.g. “pushed” by the geofences) when the user deviceis detected as having crossed a geofence boundary, e.g. from GPS data.

In other examples, a “pull model” may be used, in which the user devicecontinually checks the absolute distance between the user and a familiarlocation to determine when to display a graphical indicator, without theuse of geofences. In such a “pull model,” the user device mayperiodically check the user's distance from a familiar location,“pulling” the answer to determine whether or not to display a graphicalindicator. For example, the user device may compare the determineddistance from a familiar location to a predetermined threshold distance,and display the graphical indicator once the determined distance fallswithin the threshold distance.

In the example of FIG. 2, a user 214 has crossed geofence 212 associatedwith nearby familiar location 206. In response, a device carried by theuser 214 (e.g. a head-mounted display device or smartphone) displays agraphical indicator 216 to the user 214 that contains directionalinformation indicating a relative position of the familiar location 206.In the depicted example, the graphical indicator 216 takes the form of avirtual arrow that is pointing towards the familiar location 206 inrelation to the user's current perspective. The graphical indicator 216may be displayed in any suitable manner. For example, the graphicalindicator 216 may be displayed in a world-locked manner (e.g. displayedas being at a fixed location relative to the world) at a predeterminedlocation (e.g. at a fixed location with reference to an intersection ofa street on which the user is located and a street on which the familiarlocation is located), or may be displayed to follow a user's gaze (e.g.by being displayed at an intersection of a user's gaze and the street onwhich the familiar location is located). In other examples, a graphicalindicator may be displayed at any other suitable location, such as overa location at a sufficient height (e.g. above a building) and/or at alocation determined to be viewable by a user (e.g. not occluded by otherstructures).

Graphical indicators of familiar locations also may be displayed when auser is virtually navigating an area using a mapping application orother navigational application. For example, as a user navigates a mapusing a first-person, street-level view or a virtual reality view withina mapping application, the device may be configured to track the virtuallocation of the user within the map and compare the virtual location togeofences for the user's familiar locations or to distance thresholdsfrom familiar locations, and output graphical indicators and/or otherdirectional information regarding familiar locations as the user'svirtual location crosses the geofences for the familiar locationsgeofences.

In other examples, a graphical indicator may be displayed as beinglocated between the user's location and the familiar location, such thatthe graphical indicator moves to remain between the user and thefamiliar location as the user moves down the street or path. Thegraphical indicator could be used to lead the user to the familiarlocation, if the user wanted, as the user moves around the area.

As another example, instead of a user-centric model, a place-centricmodel may be utilized in which graphical indicators may be stored in amap layer and displayed persistently when a view of the indicators isunoccluded, rather than displayed upon crossing of a geofence. FIG. 3shows an example map 300 representing a layer storing familiar locations302 and 304 and graphical indicators 306, 308 pointing respectively toeach familiar location appearing within a certain distance from thefamiliar location at predetermined locations. In such an example, thegraphical indicators may be pre-positioned at intersections of a streeton which the familiar location is located, pointing down the street inthe direction of the familiar location. In the depicted example,graphical indicator 306 a is located at a road intersection from whichthe familiar location 302 is accessible, pointing toward a direction ofthe familiar location 302. Graphical indicator 306 b is located at aroad intersection on an opposite side of the familiar location 302, andpoints in the opposite direction toward the familiar location 302.Similarly, graphical indicators 308 a and 308 b point towards familiarlocation 304 from opposite directions. As a user 310 navigates the area,the user 310 may serendipitously encounter the graphical indicators atthe predetermined intersections when such a graphical indicator comesinto view of the user 310. For example, graphical indicator 306 a may bedisplayed when a gaze of the user 310 faces the graphical indicator 306a, as determined via data such as GPS data, gaze tracking data from agaze tracking system, and/or image data of a scene from an outwardfacing camera of the user device.

In some examples, one or more noise control algorithms may be applied tocontrol an amount of visual content displayed regarding possiblefamiliar locations. Such an algorithm may control noise in any suitablemanner. For example, a noise control algorithm may determine toselectively disable the display of directional information regardingfamiliar locations when it is determined that a user is alreadysufficiently familiar with an area Likewise, in areas in whichdirectional information is displayed, a number and/or density ofgraphical indicators displayed may vary. As one example, a number and/ordensity of graphical indicators may be adjusted based on a degree offamiliarity of the user with the geographic area, such that indicatorsmay be shown more frequently (e.g. appear at more intersections) when itis determined that a user is less familiar with the area, and may beshown less frequently (e.g. at fewer intersections) when it isdetermined that the user is more familiar with the area. As yet anotherexample, the list of familiar locations may be prioritized, and signsonly shown for higher priority locations. A user's degree of familiaritywith the area may be determined based on factors such as a frequency ofvisits by the user, a density of determined familiar locations in thearea, and/or any other suitable metrics.

A determined degree of familiarity with the area may also be used toadjust geofences used in a user-centric model. For example, as mentionedabove, a size (e.g. radius) of a geofence surrounding a familiarlocation may be adjusted based upon a degree of a user's familiaritywith the location. As a more specific example, where it is determinedthat the user may be relatively more familiar with an area, the radii ofgeofences within that area may be smaller than where it is determinedthe user may be relatively less familiar with the area.

Densities of graphical indicators and/or sizes of geofences further maybe varied based upon other factors. For example, such parameters mayvary based upon a time of day. As a more specific example, a user mayhave only been to a certain geographic area in the daytime, and not atnighttime. Thus, if the user returns to the geographic area during thenight, a higher density of graphical indicators pointing to familiarlocations may be shown than if the user had returned during the day,since the surroundings may appear less familiar to the user at night. Inother examples, the display of graphical indicators may be adjustedbased upon characteristics of the geographic area, such as how large thearea is (e.g. town or city), a determined safety of the geographic area(e.g. as determined from a safety index or crime index for the area),and/or based on user inputs requesting for more or fewer graphicalindicators to be displayed.

As mentioned above, in some examples, a list of determined familiarlocations may be prioritized. In such an example, if a user isdetermined to be near multiple familiar locations, instead of displayingindicators for all of the locations, a device may display locationalindicators for one or more higher priority familiar locations, and notfor one or more lower priority familiar locations. The device mayprioritize familiar locations based upon any suitable factors, such as afrequency of visits and/or a recency of a visit to each familiarlocation, as examples.

In yet other examples, rather than using geofences or an invisible maplayer of indicators, other suitable methods may trigger the display of adirectional indicator. For example, a device may detect a pattern ofmovement from GPS data indicating that a user is currently havingtrouble finding a way around the area, and may display an indicatorpointing to a familiar location in response. As a more specific example,the device may detect that a path of the user indicates a possibility ofbeing lost, such as the user repeatedly veering from a navigation pathduring a guided navigation on a mapping application, the user traversinga same path repeatedly, the user frequently changing directions, theuser frequently performing a search for a location, etc.

Locations also may be removed from a list of familiar locations. Forexample, a device may remove a selected location from the list offamiliar locations based upon an insufficient recency of a most recentvisit to the selected location, an insufficient frequency of visits tothe selected location, and/or a user input requesting removal of theselected location.

FIGS. 4 and 5 show example devices that may be configured to providefamiliarizing directional information to a user. FIG. 4 shows an exampleaugmented reality display device in the form of a head-mounted displaydevice 400. As mentioned above, the head-mounted display device 400 mayutilize augmented reality technologies to enable simultaneous viewing ofvirtual display imagery and a real-world background. As such, thedisplay device 400 may generate virtual images via see-through display404, which includes separate right and left eye displays 404R and 404L,and which may be wholly or partially transparent. The see-throughdisplay 404 may take any suitable form, such as one or more waveguidesor prisms configured to receive a generated image and direct the imagetowards a wearer's eye. The see-through display 404 may include abacklight and a microdisplay, such as liquid-crystal display (LCD) orliquid crystal on silicon (LCOS) display, in combination with one ormore light-emitting diodes (LEDs), laser diodes, and/or other lightsources. In other examples, the see-through display 404 may utilizequantum-dot display technologies, active-matrix organic LED (OLED)technology, and/or any other suitable display technologies. It will beunderstood that while shown in FIG. 4 as a flat display surface withleft and right eye displays, the see-through display 404 may be a singledisplay, may be curved, or may take any other suitable form. Further, inother examples, augmented reality display may be accomplished viacompositing virtual imagery with video images acquired by a camera onthe device and displayed to the user.

The head-mounted display device 400 further includes an additionalsee-through optical component 406, shown in FIG. 4 in the form of asee-through veil positioned between the see-through display 104 and thebackground environment as viewed by a wearer. A controller 408 isoperatively coupled to the see-through optical component 404 and toother display componentry. The controller 408 includes one or more logicdevices and one or more computer memory devices storing instructionsexecutable by the logic device(s) to enact functionalities of thedisplay device, such as to display graphical indicators as describedherein. The display device 400 may further include various othercomponents, for example a two-dimensional image camera 410 (e.g. avisible light camera and/or infrared camera) and a depth camera 412, aswell as other components that are not shown, including but not limitedto speakers, microphones, accelerometers, gyroscopes, magnetometers,temperature sensors, touch sensors, biometric sensors, other imagesensors, eye-gaze detection systems, energy-storage components (e.g.battery), a communication facility, a GPS receiver, etc.

Although FIGS. 1-4 are described above in the context of an augmentedreality head-mounted display device, it will be understood that anyother suitable devices may be configured to display or otherwise outputdirectional information indicating the relative position(s) of nearbyfamiliar location(s). FIG. 5 shows an example smartphone 500 that may beconfigured to display graphical indicators on a display screen 502 in avideo augmented reality implementation. In other examples, rather thanan augmented reality configuration, a display device may display avirtual representation of a geographic area, such as presenting a streetviewing experience, and display graphical indicators as the uservirtually navigates around the geographic area within the virtualenvironment. As such, laptops, desktop computers, and other suitablecomputing display devices may be configured to display graphicalindicators in such a virtual representation. In further examples, ratherthan or in addition to displaying graphical indicators, a device mayoutput textual and/or audio notifications.

FIG. 6 shows an example method 600 of providing directional informationrelating to nearby familiar locations on a display device. Method 600includes, at 602, forming a list of familiar locations for a user basedupon user history regarding the familiar locations. As described above,user history may include one or more of search history, GPS history,user input, calendar data, email data, application data, texting data,and any other suitable data. Logic configured to assemble the list offamiliar locations from user history may reside local to the displaydevice, or at a remote location accessible via a network. Method 600further may include, at 604, prioritizing the list of familiar locationsbased upon a frequency of visits, a recency of a visit, and/or a totalnumber of visits to each familiar location. Any other suitable factorsmay be utilized to help prioritize the list, including user input.Method 600 further may include, at 606, removing a selected locationfrom the list of familiar locations. For example, this determination maybe based upon an insufficient recency of a most recent visit, aninsufficient frequency of visits, a user input, or any other suitableinputs that may indicate the selected location should not be included asa familiar location.

Method 600 further includes, at 608, comparing current location data tothe list of familiar locations. This may further include, at 610,determining a degree of familiarity of the user with a geographic areacontaining the current location. For example, as mentioned above, adegree of familiarity may be indicated by a frequency visits to the areaand/or a recency of a visit to the area. Method 600 also includes, at612, determining that the user is in proximity to a nearby familiarlocation on the list of familiar locations. This may be performed bydetermining that the user has crossed a geofence at 614, or byperiodically determining whether a distance between the user and thenearby familiar location meets a threshold distance condition, at 615.Method 600 further may include, at 616, detecting that a gaze of theuser is currently facing a road intersection from which the nearbyfamiliar location is accessible, at 618 determining that a path of theuser indicates a possibility of being lost, and/or upon any othersuitable factors. Such comparisons may be performed locally, or via aremote service by periodically sending a current location of the displaydevice to the remote server for comparison to mapping data.

Continuing with FIG. 6B, method 600 includes at 620 outputtingdirectional information indicating a relative position of the nearbyfamiliar location on the list of familiar locations. The directionalinformation may be output as one or more graphical indicators comprisinga directional symbol and text information regarding the nearby familiarlocation, at 622, or may take any other suitable form. Such a graphicalindicator may be displayed at an intersection of a street on which auser is located or a gaze line of a user with a street on which thefamiliar location is located, above the familiar location, or in anyother suitable location. In these examples, the directional informationis displayed in an augmented reality image, at 624, but may be presentedin other manners, such as in audio form. In some examples, a pluralityof nearby familiar locations may be identified, and one or moreindicator(s) may be selected for display based upon a degree offamiliarity of the user with the geographic area, each indicatorindicating a relative location of a corresponding familiar location, asshown at 626. In other examples, one or more indicator(s) may beselected for display based upon a priority of each nearby familiarlocation, as shown at 628. The directional information may then bedisplayed based upon the degree familiarity of the user with thegeographic area and/or a priority of each nearby familiar location, asindicated at 630. Further, indicator(s) may be selectively disabled whenit is determined that a user is already sufficiently familiar with anarea 632.

In some embodiments, the methods and processes described herein may betied to a computing system of one or more computing devices. Inparticular, such methods and processes may be implemented as acomputer-application program or service, an application-programminginterface (API), a library, and/or other computer-program product.

FIG. 7 schematically shows a non-limiting example of a computing system700 that can enact one or more of the methods and processes describedabove. Computing system 700 is shown in simplified form. Computingsystem 700 may take the form of one or more personal computers, servercomputers, tablet computers, home-entertainment computers, networkcomputing devices, gaming devices, mobile computing devices, mobilecommunication devices (e.g., smart phone), and/or other computingdevices. The head-mounted display device 102, head-mounted displaydevice 400, and smartphone 500 are example implementations of computingsystem 700.

Computing system 700 includes a logic machine 702 and a storage machine704. Computing system 700 may optionally include a display subsystem706, input subsystem 708, communication subsystem 710, and/or othercomponents not shown in FIG. 7.

Logic subsystem 702 includes one or more physical devices configured toexecute instructions. For example, the logic subsystem 702 may beconfigured to execute instructions that are part of one or moreapplications, services, programs, routines, libraries, objects,components, data structures, or other logical constructs. Suchinstructions may be implemented to perform a task, implement a datatype, transform the state of one or more components, achieve a technicaleffect, or otherwise arrive at a desired result.

The logic subsystem 702 may include one or more processors configured toexecute software instructions. Additionally or alternatively, the logicmachine may include one or more hardware or firmware logic machinesconfigured to execute hardware or firmware instructions. Processors ofthe logic subsystem 702 may be single-core or multi-core, and theinstructions executed thereon may be configured for sequential,parallel, and/or distributed processing. Individual components of thelogic subsystem 702 optionally may be distributed among two or moreseparate devices, which may be remotely located and/or configured forcoordinated processing. Aspects of the logic subsystem 702 may bevirtualized and executed by remotely accessible, networked computingdevices configured in a cloud-computing configuration.

Storage subsystem 704 includes one or more physical devices configuredto hold instructions executable by the logic subsystem 702 to implementthe methods and processes described herein. When such methods andprocesses are implemented, the state of storage subsystem 704 may betransformed—e.g., to hold different data.

Storage subsystem 704 may include removable and/or built-in devices.Storage subsystem 704 may include optical memory (e.g., CD, DVD, HD-DVD,Blu-Ray Disc, etc.), semiconductor memory (e.g., RAM, EPROM, EEPROM,etc.), and/or magnetic memory (e.g., hard-disk drive, floppy-disk drive,tape drive, MRAM, etc.), among others. Storage subsystem 704 may includevolatile, nonvolatile, dynamic, static, read/write, read-only,random-access, sequential-access, location-addressable,file-addressable, and/or content-addressable devices.

It will be appreciated that storage subsystem 704 includes one or morephysical devices. However, aspects of the instructions described hereinalternatively may be propagated by a communication medium (e.g., anelectromagnetic signal, an optical signal, etc.) that is not held by aphysical device for a finite duration.

Aspects of logic subsystem 702 and storage subsystem 704 may beintegrated together into one or more hardware-logic components. Suchhardware-logic components may include field-programmable gate arrays(FPGAs), program- and application-specific integrated circuits(PASIC/ASICs), program- and application-specific standard products(PSSP/ASSPs), system-on-a-chip (SOC), and complex programmable logicdevices (CPLDs), for example.

When included, display subsystem 706 may be used to present a visualrepresentation of data held by storage subsystem 704. This visualrepresentation may take the form of a graphical user interface (GUI). Asthe herein described methods and processes change the data held by thestorage machine, and thus transform the state of the storage machine,the state of display subsystem 706 may likewise be transformed tovisually represent changes in the underlying data. Display subsystem 706may include one or more display devices utilizing virtually any type oftechnology. Such display devices may be combined with logic subsystem702 and/or storage subsystem 704 in a shared enclosure, or such displaydevices may be peripheral display devices.

When included, input subsystem 708 may comprise or interface with one ormore user-input devices such as a keyboard, mouse, touch screen, or gamecontroller. In some embodiments, the input subsystem may comprise orinterface with selected natural user input (NUI) componentry. Suchcomponentry may be integrated or peripheral, and the transduction and/orprocessing of input actions may be handled on- or off-board. Example NUIcomponentry may include a microphone for speech and/or voicerecognition; an infrared, color, stereoscopic, and/or depth camera formachine vision and/or gesture recognition; a head tracker, eye tracker,accelerometer, and/or gyroscope for motion detection and/or intentrecognition; as well as electric-field sensing componentry for assessingbrain activity.

When included, communication subsystem 710 may be configured tocommunicatively couple computing system 700 with one or more othercomputing devices. Communication subsystem 710 may include wired and/orwireless communication devices compatible with one or more differentcommunication protocols. As non-limiting examples, the communicationsubsystem may be configured for communication via a wireless telephonenetwork, or a wired or wireless local- or wide-area network. In someembodiments, the communication subsystem may allow computing system 700to send and/or receive messages to and/or from other devices via anetwork such as the Internet.

Another example provides a computing device comprising a display, alogic subsystem, and a storage subsystem comprising instructionsexecutable by the logic subsystem to form a list of familiar locationsfor a user based upon user history regarding the familiar locations,determine that the user is within a threshold proximity to a nearbyfamiliar location on the list of familiar locations, and in response,output directional information indicating a relative position of thenearby familiar location on the list of familiar locations. Thecomputing device may additionally or alternatively include an augmentedreality display device and the display may additionally or alternativelyinclude a see-through display, and wherein the instructions areexecutable to output the directional information as a graphicalindicator in an augmented reality image. The computing device mayadditionally or alternatively include one or more of a head-mounteddisplay device and a smartphone. The directional information mayadditionally or alternatively be output as a graphical indicatorcomprising a directional symbol and text information regarding thenearby familiar location. The graphical indicator may additionally oralternatively be stored in an overlay map layer comprising a pluralityof graphical indicators, each graphical indicator corresponding to afamiliar location in the list of familiar locations. The instructionsmay additionally or alternatively be executable to determine that theuser is in proximity to the nearby familiar location by determining ifthe user has crossed a geofence defined for the nearby familiarlocation. The instructions may additionally or alternatively beexecutable to determine that the user is in proximity to the nearbyfamiliar location by comparing the current location data to the nearbyfamiliar location and determining if the user is within a thresholddistance from the nearby familiar location. The instructions mayadditionally or alternatively be executable to output the directionalinformation indicating a relative position of the nearby familiarlocation upon determining that a path of the user indicates apossibility of being lost. The instructions may additionally oralternatively be executable to output the directional information upondetecting that a gaze of the user is currently facing a roadintersection from which the nearby familiar location is accessible. Theinstructions may additionally or alternatively be executable todetermine a degree of familiarity of the user with a geographic areacontaining the current location, and display the directional informationfurther based upon the degree of familiarity. The instructions mayadditionally or alternatively be executable to identify a plurality ofnearby familiar locations, and to select one or more indicators todisplay based upon one or more of the degree of familiarity regardingthe user with the geographic area and a priority of each nearby familiarlocation on the list. The instructions may additionally or alternativelybe executable to prioritize the list of familiar locations based uponone or more of a frequency of visits, a recency of a visit, and a totalnumber of visits to each familiar location on the list of familiarlocations. The user history may additionally or alternatively includeone or more of search history, GPS history, user input, calendar data,email data, application data, and texting data. The instructions mayadditionally or alternatively be executable to remove a selectedlocation from the list of familiar locations based upon one or more ofan insufficient recency of a most recent visit to the selected location,an insufficient frequency of visits to the selected location, aninsufficient total number of visits to the selected location, and a userinput.

On a computing device comprising a display, a method comprising forminga list of familiar locations for a user based upon user historyregarding the familiar locations, determining that the user is inproximity to a nearby familiar location on the list of familiarlocations, and outputting directional information indicating a relativeposition of the nearby familiar location on the list of familiarlocations. The directional information may additionally or alternativelybe output as a graphical indicator comprising a directional symbol andtext information regarding the nearby familiar location. Determiningthat the user is in proximity to the nearby familiar location mayadditionally or alternatively include one or more of determining thatthe user has crossed a geofence defined for the nearby familiar locationand determining that the user is within a threshold distance of thenearby familiar location.

Another example provides a head-mounted display device, comprising, adisplay, a logic subsystem, and a storage subsystem comprisinginstructions executable by the logic subsystem to form a list offamiliar locations for a user based upon user history regarding thelocations, compare current location data to the list of familiarlocations, determine that the user is in proximity to a nearby familiarlocation on the list of familiar locations based upon comparing thecurrent location data to the list of familiar locations, and display agraphical indicator comprising directional information indicating arelative position of the nearby familiar location on the list offamiliar locations. The graphical indicator may additionally oralternatively include a directional symbol and text informationregarding the nearby familiar location. The instructions mayadditionally or alternatively be executable to determine that the useris in proximity to the nearby familiar location by determining that theuser has crossed a geofence defined for the nearby familiar location.

It will be understood that the configurations and/or approachesdescribed herein are exemplary in nature, and that these specificembodiments or examples are not to be considered in a limiting sense,because numerous variations are possible. The specific routines ormethods described herein may represent one or more of any number ofprocessing strategies. As such, various acts illustrated and/ordescribed may be performed in the sequence illustrated and/or described,in other sequences, in parallel, or omitted Likewise, the order of theabove-described processes may be changed.

The subject matter of the present disclosure includes all novel andnon-obvious combinations and sub-combinations of the various processes,systems and configurations, and other features, functions, acts, and/orproperties disclosed herein, as well as any and all equivalents thereof.

1. A computer-readable memory device comprising instructions that areexecutable to: receive, over time, location data regarding a location ofa computing device associated with a user, determine, based upon thelocation data, a degree of familiarity of the user with a geographicarea containing a current location of the computing device associatedwith the user, determine that the user is in proximity to a nearbyfamiliar location based upon the current location of the computingdevice associated with the user, and output, to the computing deviceassociated with the user, directional information comprising one or moreindicators indicating a position of the nearby familiar locationrelative to the current location of the computing device associated withthe user, the directional information being based on the degree offamiliarity such that the indicators are more frequent when it isdetermined that the user is relatively less familiar with the geographicarea and less frequent when it is determined that the user is relativelymore familiar with the area.
 2. The computer-readable memory device ofclaim 1, wherein the instructions are executable to determine the degreeof familiarity of the user with the geographic area based at least onone or more of a frequency of visits to the geographic area, a recencyof a visit to the area, or a density of determined familiar locations inthe geographic area.
 3. The computer-readable memory device of claim 1,wherein the instructions are executable to determine that the user is inproximity to the nearby familiar location by determining that thecomputing device associated with the user has crossed a geofence definedfor the nearby familiar location.
 4. The computer-readable memory deviceof claim 1, wherein the instructions are executable to output theindicators at a higher frequency of street intersections when it isdetermined that the user is relatively less familiar with the geographicarea, and to output the indicators at a lower frequency of streetintersections when it is determined that the user is relatively morefamiliar with the area.
 5. The computer-readable memory device of claim1, wherein each of one or more indicators comprises a directional symboland text information regarding the nearby familiar location.
 6. Thecomputer-readable memory device of claim 1, wherein the indicatorscomprise an overlay map layer.
 7. The computer-readable memory device ofclaim 1, wherein the instructions are executable to determine that theuser is in proximity to the nearby familiar location by comparing thecurrent location data to the nearby familiar location and determining ifthe computing device associated with the user is within a thresholddistance from the nearby familiar location.
 8. The computer-readablememory device of claim 1, wherein the instructions are executable tooutput the directional information upon determining that a path of theuser indicates a possibility of being lost.
 9. The computer-readablememory device of claim 1, wherein the instructions are executable tooutput the directional information upon detecting that a gaze line ofthe user intersects a street on which the familiar location is located.10. The computer-readable memory device of claim 1, wherein theinstructions are executable to determine the degree of familiarity ofthe user with the geographic area based upon a density of determinedfamiliar locations in the geographic area.
 11. The computer-readablememory device of claim 1, wherein the instructions are executable toidentify a plurality of nearby familiar locations, and to select one ormore indicators to display based at least upon a priority determined foreach nearby familiar location.
 12. The computer-readable memory deviceof claim 11, wherein the instructions are executable to determine thepriority for each nearby familiar location based upon one or more of afrequency of visits, a recency of a visit, and a total number of visitsto each nearby familiar location.
 13. The computer-readable memorydevice of claim 11, wherein the instructions are further executable toremove a selected location from the nearby familiar locations based uponone or more of an insufficient recency of a most recent visit to theselected location, an insufficient frequency of visits to the selectedlocation, an insufficient total number of visits to the selectedlocation, and a user input.
 14. On a computing device comprising adisplay, a method comprising: over time, sending, to a remote service,location data regarding a location of the computing device; obtaining,from the remote service, directional information indicating a positionof a nearby familiar location as determined by the remote service; andoutputting for display one or more indicators indicating a position ofthe nearby familiar location relative to a current location of thecomputing device, the directional information being based upon adetermined degree of familiarity such that the indicators are shown morefrequently for a determined less familiar geographic area and lessfrequently for a determined more familiar geographic area.
 15. Themethod of claim 14, wherein each indicator comprises a directionalsymbol and text information regarding the nearby familiar location. 16.The method of claim 14, wherein the method comprises outputting fordisplay the one or more indicators in response to determining that thecomputing device associated with the user has crossed a geofence definedfor the nearby familiar location.
 17. A method enacted on acomputer-readable memory device, the method comprising: receiving, overtime, location data regarding a location of a computing deviceassociated with a user, determining based upon the location data adegree of familiarity of the user with a geographic area containing acurrent location of the computing device associated with the user,determining that the user is in proximity to a nearby familiar locationbased upon the current location of the computing device associated withthe user, and outputting, to the computing device associated with theuser, directional information comprising one or more indicatorsindicating a position of the nearby familiar location relative to thecurrent location of the computing device associated with the user, thedirectional information being based on the degree of familiarity suchthat the indicators are more frequent when it is determined that theuser is relatively less familiar with the geographic area and lessfrequent when it is determined that the user is relatively more familiarwith the area.
 18. The method of claim 17, wherein determining thedegree of familiarity of the user with the geographic area based atleast on one or more of a frequency of visits to the geographic area, arecency of a visit to the area, or a density of determined familiarlocations in the geographic area.
 19. The method of claim 17, whereindetermining that the user is in proximity to the nearby familiarlocation comprises determining that the computing device associated withthe user has crossed a geofence defined for the nearby familiarlocation.
 20. The method of claim 17, wherein the instructions areexecutable to identify a plurality of nearby familiar locations, and tosend one or more indicators to the computing device associated with theuser for display based at least upon a priority determined for eachnearby familiar location.